1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Drawing;
5 using
System.Data;
6 using
System.Linq;
7 using
System.Text;
8 using
System.Threading.Tasks;
9 using
System.Windows.Forms;
10
11 namespace
SoftQuanLyNhaHang.Views
12 {
13
14     
public delegate void Link_ThuChi_EventHandler(object sender, EventArgs e);
15
16     
public delegate void Link_QuanLyNhaCungCap_EventHandler(object sender, EventArgs e);
17
18     
public delegate void Link_DanhSDonNhapHang_ByIdNcc_EventHandler(object sender, EventArgs e, int _idNcc);
19
20     
public partial class uctCongNo_Ncc_Kh : UserControl
21     {
22         
public uctCongNo_Ncc_Kh()
23         {
24             InitializeComponent();
25         }
26
27         
public static uctCongNo_Ncc_Kh uctCn_Ncc_Kh = new uctCongNo_Ncc_Kh();
28
29         
public event Link_ThuChi_EventHandler Link_ThuChi;
30
31         
public event Link_QuanLyNhaCungCap_EventHandler Link_QuanLyNhaCungCap;
32
33         
public event Link_DanhSDonNhapHang_ByIdNcc_EventHandler Link_DanhSDonNhapHang_ByIdNcc;
34
35         
int _pageSize = 30;
36         
int _pageIndex = 1;
37         
int _stt = 0;
38         
int _tongSoBanGhi = 0;
39
40         
private void uctCongNo_Ncc_Kh_Load(object sender, EventArgs e)
41         {
42             
43             
this.HienThiThang_ComboXBox();
44
45             dgvTongHop.ColumnHeadersHeight = dgvTongHop.ColumnHeadersHeight *
2;
46             dgvTongHop.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
47             
48             dgvTongHop.CellPainting +=
new DataGridViewCellPaintingEventHandler(dataGridView1_CellPainting);
49             dgvTongHop.Paint +=
new PaintEventHandler(dataGridView1_Paint);
50             dgvTongHop.Scroll +=
new ScrollEventHandler(dataGridView1_Scroll);
51             dgvTongHop.ColumnWidthChanged +=
new DataGridViewColumnEventHandler(dataGridView1_ColumnWidthChanged);
52
53             
//this.HienThiDsTongHopCongNo(DateTime.Now, txtMaDoiTuong.Text.Trim(), txtTenDoiTuong.Text.Trim());
54
55             cmbThang.SelectedValue = DateTime.Now.Month.ToString();
56             txtNam.Text = DateTime.Now.Year.ToString();
57              
58         }
59
60
61         
public void HienThiToanBoTrang()
62         {
63             
this.HienThiDsTongHopCongNo(DateTime.Now, txtMaDoiTuong.Text.Trim(), txtTenDoiTuong.Text.Trim());
64         }
65
66         
private void HienThiThang_ComboXBox()
67         {
68             Dictionary<
string, string> comboSource = new Dictionary<string, string>();
69             comboSource.Add(
"1", "1");
70             comboSource.Add(
"2", "2");
71             comboSource.Add(
"3", "3");
72             comboSource.Add(
"4", "4");
73             comboSource.Add(
"5", "5");
74             comboSource.Add(
"6", "6");
75             comboSource.Add(
"7", "7");
76             comboSource.Add(
"8", "8");
77             comboSource.Add(
"9", "9");
78             comboSource.Add(
"10", "10");
79             comboSource.Add(
"11", "11");
80             comboSource.Add(
"12", "12");
81             
82
83             cmbThang.DataSource =
new BindingSource(comboSource, null);
84             cmbThang.DisplayMember =
"Value";
85             cmbThang.ValueMember =
"Key";
86         }
87
88         
private void dataGridView1_Paint(object sender, PaintEventArgs e)
89         {
90             Rectangle r1 = dgvTongHop.GetCellDisplayRectangle(dgvTongHop.Columns[
"NoDauKy"].Index, -1, true);
91             
int w2 = dgvTongHop.GetCellDisplayRectangle(4, -1, true).Width;
92             r1.X +=
1;
93             r1.Y +=
1;
94             r1.Width = r1.Width + w2 -
2;
95             r1.Height = r1.Height /
2 + 2;
96             e.Graphics.FillRectangle(
new SolidBrush(dgvTongHop.ColumnHeadersDefaultCellStyle.BackColor), r1);
97
98             StringFormat format =
new StringFormat();
99
100             format.Alignment = StringAlignment.Center;
101             format.LineAlignment = StringAlignment.Center;
102             e.Graphics.DrawString(
"Số dư Đầu kỳ", dgvTongHop.ColumnHeadersDefaultCellStyle.Font,
103                 
new SolidBrush(dgvTongHop.ColumnHeadersDefaultCellStyle.ForeColor), r1, format);
104
105             
//phat sinh trong ky
106             
/*
107             Rectangle r = dataGridView1.GetCellDisplayRectangle(dataGridView1.Columns[
"PhatSinhNo"].Index, -1, true);
108             
int w = dataGridView1.GetCellDisplayRectangle(4, -1, true).Width;
109             r.X +=
1;
110             r.Y +=
1;
111             r.Width = r.Width + w -
2;
112             r.Height = r.Height /
2 + 2;
113             e.Graphics.FillRectangle(
new SolidBrush(dataGridView1.ColumnHeadersDefaultCellStyle.BackColor), r);
114
115             StringFormat fm =
new StringFormat();
116
117             fm.Alignment = StringAlignment.Center;
118             fm.LineAlignment = StringAlignment.Center;
119             e.Graphics.DrawString(
"Phát sinh trong kỳ", dataGridView1.ColumnHeadersDefaultCellStyle.Font,
120                 
new SolidBrush(dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor), r, fm);
121             */

122
123             
//
124             Rectangle r7 = dgvTongHop.GetCellDisplayRectangle(
7, -1, true);
125             
int w7 = dgvTongHop.GetCellDisplayRectangle(8, -1, true).Width;
126             r7.X +=
1;
127             r7.Y +=
1;
128             r7.Width = r7.Width + w7 -
2;
129             r7.Height = r7.Height /
2 + 2;
130             e.Graphics.FillRectangle(
new SolidBrush(dgvTongHop.ColumnHeadersDefaultCellStyle.BackColor), r7);
131
132             StringFormat format7 =
new StringFormat();
133
134             format.Alignment = StringAlignment.Center;
135             format.LineAlignment = StringAlignment.Center;
136             e.Graphics.DrawString(
"Số dư Cuối kỳ", dgvTongHop.ColumnHeadersDefaultCellStyle.Font,
137                 
new SolidBrush(dgvTongHop.ColumnHeadersDefaultCellStyle.ForeColor), r7, format);
138         }
139
140         
private void dataGridView1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
141         {
142             Rectangle rtHeader = dgvTongHop.DisplayRectangle;
143             rtHeader.Height = dgvTongHop.ColumnHeadersHeight /
2;
144             dgvTongHop.Invalidate(rtHeader);
145         }
146
147         
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
148         {
149             
if (e.RowIndex == -1 && e.ColumnIndex > -1)
150             {
151                 Rectangle r2 = e.CellBounds;
152                 r2.Y += e.CellBounds.Height /
2;
153                 r2.Height = e.CellBounds.Height /
2;
154
155                 e.PaintBackground(r2,
true);
156                 e.PaintContent(r2);
157                 e.Handled =
true;
158             }
159         }
160
161         
private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
162         {
163             Rectangle rtHeader = dgvTongHop.DisplayRectangle;
164             rtHeader.Height = dgvTongHop.ColumnHeadersHeight /
2;
165             dgvTongHop.Invalidate(rtHeader);
166         }
167
168
169         
private void HienThiDsTongHopCongNo(DateTime _thangBaoCao, string _maDoiTuong, string _tenDoiTuong)
170         {
171             DataTable dtCn =
new DataTable();
172             dtCn = Controllers.CongNoCtrl.FillDataSet_CongNo_TongHop_Search(_thangBaoCao, _maDoiTuong, _tenDoiTuong, _pageSize, _pageIndex).Tables[
0];
173
174             
175
176             
if (dtCn.Rows.Count > 0)
177             {
178                 _tongSoBanGhi = Int32.Parse(dtCn.Rows[
0]["TongSoBanGhi"].ToString());
179
180                 dgvTongHop.Rows.Clear();
181                 
//Ẩn cột đầu tiên
182                 dgvTongHop.RowHeadersVisible =
false;
183                 
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
184                 
this.dgvTongHop.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
185                 
this.dgvTongHop.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
186
187                 
this.dgvTongHop.Columns["NoDauKy"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
188
189                 
this.dgvTongHop.Columns["CoDauKy"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
190
191                 
this.dgvTongHop.Columns["NoPhatSinh"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
192
193                 
this.dgvTongHop.Columns["CoPhatSinh"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
194
195                 
this.dgvTongHop.Columns["NoCuoiKy"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
196
197                 
this.dgvTongHop.Columns["CoCuoiKy"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
198
199
200                 
foreach (DataRow item in dtCn.Rows)
201                 {
202                     _stt +=
1;
203                     
int n = dgvTongHop.Rows.Add();
204                     dgvTongHop.Rows[n].Cells[
"STT"].Value = _stt.ToString();
205
206                     
207                     dgvTongHop.Rows[n].Cells[
"MaDoiTuong"].Value = item["IdNhaCungCap"].ToString();
208
209                     dgvTongHop.Rows[n].Cells[
"IdNhaCungCap"].Value = item["IdNhaCungCap"].ToString();
210
211                     
//if (item["TenCongTy"].ToString() == "")
212                     
//{
213                        dgvTongHop.Rows[n].Cells[
"TenDoiTuong"].Value = item["HoVaTen"].ToString();
214                     
//}
215                     
//else
216                     
//{
217                     
// dgvTongHop.Rows[n].Cells["TenDoiTuong"].Value = item["TenCongTy"].ToString();
218                     
//}
219                     
220
221
222                     dgvTongHop.Rows[n].Cells[
"NoDauKy"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["NoDauKy"].ToString(), false), true);
223
224                     dgvTongHop.Rows[n].Cells[
"CoDauKy"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["CoDauKy"].ToString(), false), true);
225
226                     dgvTongHop.Rows[n].Cells[
"NoPhatSinh"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["NoPhatSinh"].ToString(), false), true);
227
228                     dgvTongHop.Rows[n].Cells[
"CoPhatSinh"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["CoPhatSinh"].ToString(), false), true);
229
230                     dgvTongHop.Rows[n].Cells[
"NoCuoiKy"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["NoCuoiKy"].ToString(), false), true);
231
232                     dgvTongHop.Rows[n].Cells[
"CoCuoiKy"].Value = CauHinhHeThong.Format_SoDeHienThi(CauHinhHeThong.Format_SoDeTinhToan(item["CoCuoiKy"].ToString(),false),true);
233
234                     
//dgvTongHop.Rows[n].Cells["ChiTiet"].Value = "Chi tiết";
235                 }
236             }
237             
else
238             {
239                 dgvTongHop.Rows.Clear();
240                 _tongSoBanGhi =
0;
241             }
242
243             lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
244         }
245
246         
private void btnThucHien_Click(object sender, EventArgs e)
247         {
248             _pageSize =
30;
249             _pageIndex =
1;
250             _stt =
0;
251
252             
if (string.IsNullOrEmpty(txtNam.Text.Trim()))
253             {
254                 txtNam.Focus();
255                 
return;
256             }
257
258             
string thag = cmbThang.SelectedValue.ToString();
259             
string nam = txtNam.Text.Trim();
260
261             
if (int.Parse(thag) >= 1 && int.Parse(thag) <= 12)
262             {
263                 thag =
int.Parse(cmbThang.SelectedValue.ToString()).ToString("00");
264                 lblThongBao.Visible =
false;
265             }
266             
else
267             {
268                 lblThongBao.Text =
"Lỗi! Tháng không đúng.";
269                 lblThongBao.Visible =
true;
270                 cmbThang.Focus();
271                 
return;
272             }
273
274             
if (int.Parse(nam) > 2000 && int.Parse(nam) < 2100)
275             {
276                 lblThongBao.Visible =
false;
277             }
278             
else
279             {
280                 lblThongBao.Text =
"Lỗi! Năm không đúng.";
281                 lblThongBao.Visible =
true;
282                 txtNam.Focus();
283                 
return;
284             }
285
286             
string nthang = nam + "-" + thag + "-01";
287             DateTime thangbc = DateTime.Parse(nthang);
288             
this.HienThiDsTongHopCongNo(thangbc, txtMaDoiTuong.Text.Trim(), txtTenDoiTuong.Text.Trim());
289
290             
291         }
292
293         
private void btnTiep_Click(object sender, EventArgs e)
294         {
295             
if (_tongSoBanGhi > (_pageSize * _pageIndex))
296             {
297                 _pageIndex = _pageIndex +
1;
298
299
300                 
if (string.IsNullOrEmpty(txtNam.Text.Trim()))
301                 {
302                     txtNam.Focus();
303                     
return;
304                 }
305
306                 
string thag = cmbThang.SelectedValue.ToString();
307                 
string nam = txtNam.Text.Trim();
308
309                 
if (int.Parse(thag) >= 1 && int.Parse(thag) <= 12)
310                 {
311                     thag =
int.Parse(cmbThang.SelectedValue.ToString()).ToString("00");
312                     lblThongBao.Visible =
false;
313                 }
314                 
else
315                 {
316                     lblThongBao.Text =
"Lỗi! Tháng không đúng.";
317                     lblThongBao.Visible =
true;
318                     cmbThang.Focus();
319                     
return;
320                 }
321
322                 
if (int.Parse(nam) > 2000 && int.Parse(nam) < 2100)
323                 {
324                     lblThongBao.Visible =
false;
325                 }
326                 
else
327                 {
328                     lblThongBao.Text =
"Lỗi! Năm không đúng.";
329                     lblThongBao.Visible =
true;
330                     txtNam.Focus();
331                     
return;
332                 }
333
334                 
string nthang = nam + "-" + thag + "-01";
335                 DateTime thangbc = DateTime.Parse(nthang);
336                 
this.HienThiDsTongHopCongNo(thangbc, txtMaDoiTuong.Text.Trim(), txtTenDoiTuong.Text.Trim());
337
338
339             }
340             
else
341             {
342                 
return;
343             }
344         }
345
346         
private void btnSau_Click(object sender, EventArgs e)
347         {
348             
if ((_pageSize * _pageIndex) > _pageSize)
349             {
350                 _pageIndex = _pageIndex -
1;
351                 _stt = _pageSize * _pageIndex - _pageSize;
352
353
354                 
if (string.IsNullOrEmpty(txtNam.Text.Trim()))
355                 {
356                     txtNam.Focus();
357                     
return;
358                 }
359
360                 
string thag = cmbThang.SelectedValue.ToString();
361                 
string nam = txtNam.Text.Trim();
362
363                 
if (int.Parse(thag) >= 1 && int.Parse(thag) <= 12)
364                 {
365                     thag =
int.Parse(cmbThang.SelectedValue.ToString()).ToString("00");
366                     lblThongBao.Visible =
false;
367                 }
368                 
else
369                 {
370                     lblThongBao.Text =
"Lỗi! Tháng không đúng.";
371                     lblThongBao.Visible =
true;
372                     cmbThang.Focus();
373                     
return;
374                 }
375
376                 
if (int.Parse(nam) > 2000 && int.Parse(nam) < 2100)
377                 {
378                     lblThongBao.Visible =
false;
379                 }
380                 
else
381                 {
382                     lblThongBao.Text =
"Lỗi! Năm không đúng.";
383                     lblThongBao.Visible =
true;
384                     txtNam.Focus();
385                     
return;
386                 }
387
388                 
string nthang = nam + "-" + thag + "-01";
389                 DateTime thangbc = DateTime.Parse(nthang);
390                 
this.HienThiDsTongHopCongNo(thangbc, txtMaDoiTuong.Text.Trim(), txtTenDoiTuong.Text.Trim());
391
392
393             }
394             
else
395             {
396                 _pageIndex =
1;
397             }
398         }
399
400         
private void txtNam_KeyPress(object sender, KeyPressEventArgs e)
401         {
402             CauHinhHeThong.NhapSoTrongTextBox(sender, e);
403         }
404
405         
private void cmbThang_SelectionChangeCommitted(object sender, EventArgs e)
406         {
407             _pageSize =
30;
408             _pageIndex =
1;
409             _stt =
0;
410
411             
if (string.IsNullOrEmpty(txtNam.Text.Trim()))
412             {
413                 txtNam.Focus();
414                 
return;
415             }
416
417             
string thag = cmbThang.SelectedValue.ToString();
418             
string nam = txtNam.Text.Trim();
419
420             
if (int.Parse(thag) >= 1 && int.Parse(thag) <= 12)
421             {
422                 thag =
int.Parse(cmbThang.SelectedValue.ToString()).ToString("00");
423                 lblThongBao.Visible =
false;
424             }
425             
else
426             {
427                 lblThongBao.Text =
"Lỗi! Tháng không đúng.";
428                 lblThongBao.Visible =
true;
429                 cmbThang.Focus();
430                 
return;
431             }
432
433             
if (int.Parse(nam) > 2000 && int.Parse(nam) < 2100)
434             {
435                 lblThongBao.Visible =
false;
436             }
437             
else
438             {
439                 lblThongBao.Text =
"Lỗi! Năm không đúng.";
440                 lblThongBao.Visible =
true;
441                 txtNam.Focus();
442                 
return;
443             }
444
445             
string nthang = nam + "-" + thag + "-01";
446             DateTime thangbc = DateTime.Parse(nthang);
447             
this.HienThiDsTongHopCongNo(thangbc, txtMaDoiTuong.Text.Trim(), txtTenDoiTuong.Text.Trim());
448
449         }
450
451         
private void linkLabel_ThuChi_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
452         {
453             
if (this.Link_ThuChi != null)
454             {
455                 
this.Link_ThuChi(sender, e);
456             }
457         }
458
459         
private void linkLabel_QuanLyNhaCungCap_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
460         {
461             
if (this.Link_QuanLyNhaCungCap != null)
462             {
463                 
this.Link_QuanLyNhaCungCap(sender, e);
464             }
465         }
466
467         
private void dgvTongHop_CellClick(object sender, DataGridViewCellEventArgs e)
468         {
469             
if (dgvTongHop.Columns[e.ColumnIndex].Name == "TenDoiTuong" && e.RowIndex != -1)
470             {
471                 
//-https://stackoverflow.com/questions/12762036/datagridview-cell-click-event
472                 
if (dgvTongHop.CurrentCell != null && dgvTongHop.CurrentCell.Value != null)
473                 {
474                     
int _idNcc = 0;
475                     _idNcc = Int32.Parse(dgvTongHop.Rows[e.RowIndex].Cells[
"IdNhaCungCap"].Value.ToString());
476                     
//Truyền dữ liệu sang uct NhapHang
477                     
if (this.Link_DanhSDonNhapHang_ByIdNcc != null)
478                     {
479                         
this.Link_DanhSDonNhapHang_ByIdNcc(sender, e, _idNcc);
480                     }
481                 }
482
483             }
484         }
485
486     }
487 }


Gõ tìm kiếm nhanh...